<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 

        页面布局要学习三大核心，盒子模型,浮动和定位.学习好盒子模型能非常好的帮助我们布局页面.

        1.1 看透网页布局的本质

            网页布局过程:

                1.先准备好相关的网页元素，网页元素基本都是盒子Box。
                2利用CSS设置好盒子样式，然后摆放到相应位置。
                3.往盒子里面装内容.

            网页布局的核心本质:就是利用CSS摆盒子。

        1.2 盒子模型(Box Model )组成

            所谓盒子模型︰就是把HTML页面中的布局元素看作是一个矩形的盒子，也就是一个盛装内容的容器。
            CSS盒子模型本质上是一个盒子，封装周围的HTML元素，它包括:边框、外边距、内边距和实际内容


        1.3 边框( border )

            border可以设置元素的边框。边框有三部分组成:边框宽度(粗细)、边框样式、边框颜色
            
            语法︰

                border : border-width | border-style | border-color

            属性                作用
            border-width        定义边框粗细，单位是px
            border-style        边框的样式 solid  dashed  dotted
            border-color        边框颜色


        1.4 表格的细线边框

            border-collapse属性控制浏览器绘制表格边框的方式。它控制相邻单元格的边框。
            
            语法︰

            border-collapse:collapse;

            collapse单词是合并的意思

            border-collapse: collapse;接示相邻边框合并在一起



        1.6 内边距( padding )

            padding属性用于设置内边距，即边框与内容之间的距离。

            属性                作用
            padding-left        左内边距
            padding-right       右内边距
            padding-top         上内边距
            padding-bottom      下内边距


            padding属性（简写属性)可以有一到四个值。

            值的个数                              表达意思
            padding: 5px;                        1个值，代表上下左右都有5像素内边距;
            padding: 5px 10px;                   2个值，代表上下内边距是5像素左右内边距是10像素;
            padding: 5px 10px 20px;              3个值，代表上内边距5像素左右内边距10像素下内边距20像素;
            padding: 5px 10px 20px 30px;         4个值，上是5像素右10像素下20像素左是30像素顺时针

        
            注意：如何盒子本身没有指定width/height属性,则此时padding不会撑开盒子大小.


        1.7 外边距( margin )

            margin属性用于设置外边距，即控制盒子和盒子之间的距离。

            属性                  作用

            margin-left          左外边距
            margin-right         右外边距
            margin-top           上外边距
            margin-bottom        下外边距

            margin简写方式代表的意义跟padding完全一致。


        1.7 外边距典型应用

            外边距可以让块级盒子水平居中，但是必须满足两个条件:
            
            1.盒子必须指定了宽度( width )。
            2.盒子左右的外边距都设置为auto 。

            .header{ width: 960px; margin: 0 auto; }

            常见的写法，以下三种都可以∶

            margin-left: auto; 
            margin-right auto;
            margin: auto;
            margin: 0 auto;

            注意:以上方法是让块级元素水平居中，行内元素或者行内块元素水平居中给其父元素添加text-align:center即可。


        1.8 外边距合并

            使用margin定义块元素的垂直外边距时，可能会出现外边距的合并。
            
            ⒉嵌套块元素垂直外边距的塌陷
            对于两个嵌套关系(父子关系)的块元素，父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值

            解决方案:

            可以为父元素定义上边框。
            可以为父元素定义上内边距。
            可以为父元素添加overflow:hidden。


        1.9 清除内外边距
        
            网页元素很多都带有默认的内外边距，而且不同浏览器默认的也不一致。因此我们在布局前，首先要清除下网页元素的内外边距。

            *{
                padding: 0;/* 清除内边距*/
                margin: 0;/* 清除外边距*/
            }
            
            注意∶行内元素为了照顾兼容性，尽量只设置左右内外边距，不要设置上下内外边距，因为大部分情况下设置了也不起作用。但是转换为块级和行内块元素就可以了

     -->
</body>
</html>